/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servicios;

import Modelo.ClsPersistencia;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;

/**
 *
 * @author ceballos
 */
@WebService(serviceName = "wsPersistencia")
public class wsPersistencia {

    private ClsPersistencia cp;

    /**
     * Web service operation serviceBackUp: genera un respaldo a la estructura y
     * a la información de la base de datos
     *
     * @return arreglo de byte's con la información
     * @throws IOException
     */
//    @WebMethod(operationName = "serviceBackUp")
//    public byte[] serviceBackUp(){
////        FileInputStream fis = null;
////        try {
////            //TODO write your implementation code here:
////            cp = new ClsPersistencia();
////            File backup = cp.backup();
////            fis = new FileInputStream(backup);
////            byte[] rt = new byte[(int) backup.length()];
////            fis.read(rt);
////            return rt;
////        } catch (IOException ex) {
////            Logger.getLogger(wsPersistencia.class.getName()).log(Level.SEVERE, null, ex);
////        }finally {
////            try {
////                fis.close();
////            } catch (IOException ex) {
////                Logger.getLogger(wsPersistencia.class.getName()).log(Level.SEVERE, null, ex);
////            }
////        }
////        return null;
//        cp=new ClsPersistencia();
//        return cp.tratarBU();
//    }
    /**
     * Web service operation serviceRestor: restaura a una versión anterior la
     * base de datos
     *
     * @param data es el arreglo de byte's que contiene la información a
     * restaurar
     * @return true si el proceso finalizo correctamente y false si ocurre
     * alguna excepción o no se completa el proceso
     */
//    @WebMethod(operationName = "serviceRestor")
//    public boolean serviceRestor(@WebParam(name = "data") byte[] data) {
//        //TODO write your implementation code here:
//        cp = new ClsPersistencia();
//        return cp.restor(data);
//    }
    /**
     * Web service operation
     */
    @WebMethod(operationName = "serviceBackUP1")
    public String serviceBackUP1() {
        try {
            cp = new ClsPersistencia();
            return cp.backup1();
        } catch (IOException ex) {
            Logger.getLogger(wsPersistencia.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "listBU")
    public String listBU() {
        //TODO write your implementation code here:
        cp = new ClsPersistencia();
        return cp.listRestor();
    }

    /**
     * Web service operation
     */
    @WebMethod(operationName = "restor")
    public String restor(@WebParam(name = "bu") String bu) {
        //TODO write your implementation code here:
        cp = new ClsPersistencia();
        if (cp.restor(bu)) {
            return "Base de datos restaurada con exito";
        }else{
            return "Base de datos no se pudo restaurar";
        }
    }
}
